Radio resource control (RRC) connection resume procedure in LTE requires a suspension mechanism to stop the procedure properly. In LTE Rel-13, a mechanism was introduced for a user equipment (UE) to be suspended by the network in a suspended state similar to RRC_IDLE, but with the difference that the UE stores the Access Stratum (AS) context or RRC context. This makes it possible to reduce the signaling when the UE is becoming active again by resuming the RRC connection, instead of having to establish the RRC connection from scratch, as had previously been done. Reducing the signaling could have several benefits, such reduce latency, e.g. for smart phones accessing internet, and reduced signaling leads to reduced battery consumption for machine type devices sending very little data.
The Rel-13 solution is based on that the UE sends an RRCConnectionResumeRequest message to the network and, in response, receives an RRCConnectionResume from the network. The RRCConnectionResume is not encrypted but is integrity protected.
In LTE Rel-13 and RRC_INACTIVE in NR, as part of the standardized work on 5G NR in 3GPP, it has been decided that NR should support an RRC_INACTIVE state with similar properties as the suspended state in LTE Rel-13. The RRC_INACTIVE has slightly different properties from the late state in that it is a separate RRC state and not part of RRC_IDLE as in LTE. Additionally, the core network (CN)/radio access network (RAN) connection using next generation (NG) or N2 interface is kept for RRC_INACTIVE while it was suspended in LTE.
FIG. 1 illustrates example state transitions between in NR. The properties of the RRC_IDLE comprises a UE specific discontinuous reception (DRX) configured by upper layers, the UE controlled mobility based on network configuration, the UE monitoring a paging channel for CN paging using 5G-S-TMSI, e.g. 5G System Architecture Evolution (SAE)-Temporary Mobile Subscriber Identity, the UE performing neighboring cell measurements, cell selection, and cell reselection, and the UE acquiring system information. The properties of the RRC_INACTIVE comprises a UE specific DRX configured by upper layers or by RRC layer, the UE controlled mobility based on network configuration, the UE storing the AS context, the UE monitoring a paging channel for CN paging using 5G-S-TMSI and RAN paging using I-RNTI, e.g. Inactive Radio Network Temporary Identifier, performing neighboring cell measurements, cell selection and cell reselection, performing RAN-based notification area updates periodically when moving outside the RAN-based notification area, and acquiring system information. The properties of the RRC_CONNECTED comprises the UE storing the AS context, transferring of unicast data to/from UE, the UE configured with a UE specific DRX at lower layers, using one or more secondary cells (SCells) for the UEs supporting carrier aggregation aggregated with the secondary primary cell (SpCell) for increased bandwidth, using secondary cell group (SCG) for the UEs supporting dual connectivity (DC) aggregated with the master cell group (MCG) for increased bandwidth, network controlled mobility, i.e. handover within NR and to/from E-UTRAN. In addition, the properties of the RRC_CONNECTED comprises the UE monitoring a paging channel, monitoring control channels associated with the shared data channel to determine if data is scheduled for it, providing channel quality and feedback information, performing neighboring cell measurements and measurement reporting, and acquiring system information.
In LTE, the current mechanism is that the UE verifies messages from the network prior to start of encryption. Today in LTE, there are some messages sent from the network to UE which are used to start or resume the encryption of RRC signaling. These messages are integrity protected but not encrypted. Below are some excerpts from 3GPP LTE RRC specification TS 36.331 v15.0.0 showing how the UE on RRC level verifies the integrity of these messages. As can be seen from all of the cases, the UE RRC will upon reception of the message ask lower layer, e.g. packet data convergence protocol (PDCP), to verify the integrity of the message. If the message is verified the UE RRC layer configures the lower layers to apply ciphering and integrity protection of all subsequent messages.
FIGS. 2 and 3 illustrate example resume procedure failure due to bad downlink/uplink radio conditions. Regarding T300 failure handling in LTE, there is a failure timer, T300, which is started when the UE is performing the establishment or resume procedure. The purpose of the failure timer is to stop the procedure if the UE does not get any valid response from the network. For example, the UE not getting any valid response could have occurred due to downlink problems in receiving a response message or even due to uplink problems. This will prevent the UE from getting stuck waiting for a message from the network that never comes. The timer, T300, is then either stopped when the UE receives a valid message, or it times out. In the latter case, the UE performs certain actions and informs upper layers.
The following excerpts from 3GPP TS 36.331 provide additional context. The UE initiates the procedure when upper layers request establishment or resume of an RRC connection while the UE is in RRC_IDLE. Except for NB-IoT, upon initiation of the procedure, the UE shall:                1>if SystemInformationBlockType2 includes ac-BarringPerPLMN-List and the ac-BarringPerPLMN-List contains an AC-BarringPerPLMN entry with the plmn-IdentityIndex corresponding to the PLMN selected by upper layers (see TS 23.122[11], TS 24.301 [35]):                    2>select the AC-BarringPerPLMN entry with the plmn-IdentityIndex corresponding to the PLMN selected by upper layers;            2>in the remainder of this procedure, use the selected AC-BarringPerPLMN entry (i.e. presence or absence of access barring parameters in this entry) irrespective of the common access barring parameters included in SystemInformationBlockType2;                        1>else                    2>in the remainder of this procedure use the common access barring parameters (i.e. presence or absence of these parameters) included in SystemInformationBlockType2;                        1>if SystemInformationBlockType2 contains acdc-BarringPerPLMN-List and the acdc-BarringPerPLMN-List contains an ACDC-BarringPerPLMN entry with the plmn-IdentityIndex corresponding to the PLMN selected by upper layers (see TS 23.122 [11], TS 24.301 [35]):                    2>select the ACDC-BarringPerPLMN entry with the plmn-IdentityIndex corresponding to the PLMN selected by upper layers;            2>in the remainder of this procedure, use the selected ACDC-BarringPerPLMN entry for ACDC barring check (i.e. presence or absence of access barring parameters in this entry) irrespective of the acdc-BarringForCommon parameters included in SystemInformationBlockType2;                        1>else:                    2>in the remainder of this procedure use the acdc-BarringForCommon (i.e. presence or absence of these parameters) included in SystemInformationBlockType2 for ACDC barring check;                        1>if upper layers indicate that the RRC connection is subject to EAB (see TS 24.301 [35]):                    2>if the result of the EAB check, as specified in 5.3.3.12, is that access to the cell is barred:                            3>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that EAB is applicable, upon which the procedure ends;                                                1>if upper layers indicate that the RRC connection is subject to ACDC (see TS 24.301 [35]), SystemInformationBlockType2 contains BarringPerACDC-CategoryList, and acdc-HPLMNonly indicates that ACDC is applicable for the UE:                    2>if the BarringPerACDC-CategoryList contains a BarringPerACDC-Category entry corresponding to the ACDC category selected by upper layers:                            3>select the BarringPerACDC-Category entry corresponding to the ACDC category selected by upper layers;                                    2>else:                            3>select the last BarringPerACDC-Category entry in the BarringPerACDC-CategoryList;                                    2>stop timer T308, if running;            2>perform access barring check as specified in 5.3.3.13, using T308 as “Tbarring” and acdc-BarringConfig in the BarringPerACDC-Category as “ACDC barring parameter”;            2>if access to the cell is barred:                            3>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring is applicable due to ACDC, upon which the procedure ends;                                                1>else if the UE is establishing the RRC connection for mobile terminating calls:                    2>if timer T302 is running:                            3>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile terminating calls is applicable, upon which the procedure ends;                                                1>else if the UE is establishing the RRC connection for emergency calls:                    2>if SystemInformationBlockType2 includes the ac-Barringlnfo:                            3>if the ac-BarringForEmergency is set to TRUE:                                    4>if the UE has one or more Access Classes, as stored on the USIM, with a value in the range 11 . . . 15, which is valid for the UE to use according to TS 22.011 [10] and TS 23.122 [11]:                                                                                NOTE 1: ACs 12, 13, 14 are only valid for use in the home country and ACs 11, 15 are only valid for use in the HPLMN/EHPLMN.                    5>if the ac-Barringlnfo includes ac-BarringForMO-Data, and for all of these valid Access Classes for the UE, the corresponding bit in the ac-BarringForSpecialAC contained in ac-BarringForMO-Data is set to one:                            6>consider access to the cell as barred;                                    4>else:                            5>consider access to the cell as barred;                                    2>if access to the cell is barred:            3>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication, upon which the procedure ends;                        1>else if the UE is establishing the RRC connection for mobile originating calls:                    2>perform access barring check as specified in 5.3.3.11, using T303 as “Tbarring” and ac-BarringForMO-Data as “AC barring parameter”;            2>if access to the cell is barred:                            3>if SystemInformationBlockType2 includes ac-BarringForCSFB or the UE does not support CS fallback:                                    4>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating calls is applicable, upon which the procedure ends;                                                3>else (SystemInformationBlockType2 does not include ac-BarringForCSFB and the UE supports CS fallback):                                    4>if timer T306 is not running, start T306 with the timer value of T303;                    4>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating calls and mobile originating CS fallback is applicable, upon which the procedure ends;                                                                                1>else if the UE is establishing the RRC connection for mobile originating signalling:                    2>perform access barring check as specified in 5.3.3.11, using T305 as “Tbarring” and ac-BarringForMO-Signalling as “AC barring parameter”;            2>if access to the cell is barred:                            3>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating signalling is applicable, upon which the procedure ends;                                                1>else if the UE is establishing the RRC connection for mobile originating CS fallback:                    2>if SystemInformationBlockType2 includes ac-BarringForCSFB:                            3>perform access barring check as specified in 5.3.3.11, using T306 as “Tbarring” and ac-BarringForCSFB as “AC barring parameter”;                3>if access to the cell is barred:                                    4>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating CS fallback is applicable, due to ac-BarringForCSFB, upon which the procedure ends;                                                                    2>else:                            3>perform access barring check as specified in 5.3.3.11, using T306 as “Tbarring” and ac-BarringForMO-Data as “AC barring parameter”;                3>if access to the cell is barred:                                    4>if timer T303 is not running, start T303 with the timer value of T306;                    4>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating CS fallback and mobile originating calls is applicable, due to ac-BarringForMO-Data, upon which the procedure ends;                                                                                1>else if the UE is establishing the RRC connection for mobile originating MMTEL voice, mobile originating MMTEL video, mobile originating SMSoIP or mobile originating SMS:                    2>if the UE is establishing the RRC connection for mobile originating MMTEL voice and SystemInformationBlockType2 includes ac-BarringSkipForMMTELVoice; or            2>if the UE is establishing the RRC connection for mobile originating MMTEL video and SystemInformationBlockType2 includes ac-BarringSkipForMMTELVideo; or            2>if the UE is establishing the RRC connection for mobile originating SMSoIP or SMS and SystemInformationBlockType2 includes ac-BarringSkipForSMS:                            3>consider access to the cell as not barred;                                    2>else:                            3>if establishmentCause received from higher layers is set to mo-Signalling (including the case that mo-Signalling is replaced by highPriorityAccess according to 3GPP TS 24.301 [35] or by mo-VoiceCall according to the subclause 5.3.3.3):                                    4>perform access barring check as specified in 5.3.3.11, using T305 as “Tbarring” and ac-BarringForMO-Signalling as “AC barring parameter”;                    4>if access to the cell is barred:                     5>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating signalling is applicable, upon which the procedure ends;                                                3>if establishmentCause received from higher layers is set to mo Data (including the case that mo-Data is replaced by highPriorityAccess according to 3GPP TS 24.301 [35] or by mo-VoiceCall according to the subclause 5.3.3.3):                                    4>perform access barring check as specified in 5.3.3.11, using T303 as “Tbarring” and ac-BarringForMO-Data as “AC barring parameter”;                    4>if access to the cell is barred:                     5>if SystemInformationBlockType2 includes ac-BarringForCSFB or the UE does not support CS fallback:                     6>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating calls is applicable, upon which the procedure ends;                     5>else (SystemInformationBlockType2 does not include ac-BarringForCSFB and the UE supports CS fallback):                     6>if timer T306 is not running, start T306 with the timer value of T303;                     6>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring for mobile originating calls and mobile originating CS fallback is applicable, upon which the procedure ends;                                                                                1>if the UE is resuming an RRC connection:                    2>release the MCG SCell(s), if configured, in accordance with 5.3.10.3a;            2>release powerPrefIndicationConfig, if configured and stop timer T340, if running;            2>release reportProximityConfig and clear any associated proximity status reporting timer;            2>release obtainLocanonConfig, if configured;            2>release idc-Config, if configured;            2>release measSubframePatternPCell, if configured;            2>release the entire SCG configuration, if configured, except for the DRB configuration (as configured by drb-ToAddModListSCG);            2>release naics-Info for the PCell, if configured;            2>release the LWA configuration, if configured, as described in 5.6.14.3;            2>release the LWIP configuration, if configured, as described in 5.6.17.3;            2>release bw-PreferenceIndicanonTimer, if configured and stop timer T341, if running;            2>release delayBudgetReporangConfig, if configured and stop timer T342, if running;                        1>apply the default physical channel configuration as specified in 9.2.4;        1>apply the default semi-persistent scheduling configuration as specified in 9.2.3;        1>apply the default MAC main configuration as specified in 9.2.2;        1>apply the CCCH configuration as specified in 9.1.1.2;        1>apply the timeAlignmentTimerCommon included in SystemInformationBlockType2;        1>start timer T300;        1>if the UE is resuming an RRC connection:                    2>initiate transmission of the RRCConnectionResumeRequest message in accordance with 5.3.3.3a;                        1>else:                    2>if stored, discard the UE AS context and resumeldentity;            2>initiate transmission of the RRCConnectionRequest message in accordance with 5.3.3.3;                        NOTE 2: Upon initiating the connection establishment procedure, the UE is not required to ensure it maintains up to date system information applicable only for UEs in RRC_IDLE state. However, the UE needs to perform system information acquisition upon cell reselection.        
In the other hand, for NB-IoT, upon initiation of the procedure, the UE shall perform the following actions according to 3GPP TS 36.331:                1>if the UE is establishing or resuming the RRC connection for mobile originating exception data; or        1>if the UE is establishing or resuming the RRC connection for mobile originating data; or        1>if the UE is establishing or resuming the RRC connection for delay tolerant access; or        1>if the UE is establishing or resuming the RRC connection for mobile originating signalling;                    2>perform access barring check as specified in 5.3.3.14;            2>if access to the cell is barred:                            3>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication and that access barring is applicable, upon which the procedure ends;                                                1>apply the default physical channel configuration as specified in 9.2.4;        1>apply the default MAC main configuration as specified in 9.2.2;        1>apply the CCCH configuration as specified in 9.1.1.2;        1>start timer T300;        1>if the UE is establishing an RRC connection:                    2>initiate transmission of the RRCConnectionRequest message in accordance with 5.3.3.3;                        1>else if the UE is resuming an RRC connection:                    2>initiate transmission of the RRCConnectionResumeRequest message in accordance with 5.3.3.3a;                        NOTE 3: Upon initiating the connection establishment or resumption procedure, the UE is not required to ensure it maintains up to date system information applicable only for UEs in RRC_IDLE state. However, the UE needs to perform system information acquisition upon cell reselection.        
Prior to this, lower layer signaling is used to allocate a C-RNTI. The following excerpts from 3GPP TS 36.321[6] provides additional context. When the UE receives the RRCConnectionSetup message, the UE shall:                1>if the RRCConnectionSetup is received in response to an RRCConnectionResumeRequest:                    2>discard the stored UE AS context and resumeIdentity;            2>indicate to upper layers that the RRC connection resume has been fallbacked;                        1>perform the radio resource configuration procedure in accordance with the received radioResourceConfigDedicated and as specified in 5.3.10;        1>if stored, discard the cell reselection priority information provided by the idleModeMobilityControlInfo or inherited from another RAT;        1>if stored, discard the dedicated offset provided by the redirectedCarrierOffsetDedicated;        1>stop timer T300;        1>stop timer T302, if running;        1>stop timer T303, if running;        1>stop timer T305, if running;        1>stop timer T306, if running;        1>stop timer T308, if running;        1>perform the actions as specified in 5.3.3.7;        1>stop timer T320, if running;        1>stop timer T350, if running;        1>perform the actions as specified in 5.6.12.4;        1>release rclwi-Configuration, if configured, as specified in 5.6.16.2;        1>stop timer T360, if running;        1>stop timer T322, if running;        1>enter RRC_CONNECTED;        1>stop the cell reselection procedure;        1>consider the current cell to be the PCell;        1>set the content of RRCConnectionSetupComplete message as follows:                    2>if the RRCConnectionSetup is received in response to an RRCConnectionResumeRequest:                            3>if upper layers provide an S-TMSI:                                    4>set the s-TMSI to the value received from upper layers;                                                                    2>set the selectedPLMN-Identity to the PLMN selected by upper layers (see TS 23.122 [11], TS 24.301 [35]) from the PLMN(s) included in the plmn-IdentityList in SystemInformationBlockType1 (or SystemInformationBlockType1-NB in NB-IoT);            2>if upper layers provide the ‘Registered MME’, include and set the registeredMME as follows:                            3>if the PLMN identity of the ‘Registered MME’ is different from the PLMN selected by the upper layers:                                    4>include the plmnIdentity in the registeredMME and set it to the value of the PLMN identity in the ‘Registered MME’ received from upper layers;                                                3>set the mmegi and the mmec to the value received from upper layers;                                    2>if upper layers provided the ‘Registered MME’:                            3>include and set the gummei-Type to the value provided by the upper layers;                                    2>if the UE supports CIoT EPS optimisation(s):                            3>include attachWithoutPDN-Connectivity if received from upper layers;                3>include up-CIoT-EPS-Optimisation if received from upper layers;                3>except for NB-IoT, include cp-CIoT-EPS-Optimisation if received from upper layers;                                    2>if connecting as an RN:                            3>include the rn-SuhframeConfigReq;                                    2>set the dedicatedlnfoNAS to include the information received from upper layers;            2>except for NB-IoT:                            3>if the UE has radio link failure or handover failure information available in VarRLF-Report and if the RPLMN is included in plmn-IdentityList stored in VarRLF-Report:                                    4>include rlf-InfoAvailable;                                                3>if the UE has MBSFN logged measurements available for E-UTRA and if the RPLMN is included in plmn-IdentityList stored in VarLogMeasReport:                                    4>include logMeasAvailableMBSFN;                                                3>else if the UE has logged measurements available for E-UTRA and if the RPLMN is included in plmn-IdentityList stored in VarLogMeasReport:                                    4>include logMeasAvailable;                                                3>if the UE has connection establishment failure information available in VarConnEstFailReport and if the RPLMN is equal to plmn-Identity stored in VarConnEstFailReport:                                    4>include connEstFaillnfoAvailable;                                                3>include the mobilityState and set it to the mobility state (as specified in TS 36.304 [4]) of the UE just prior to entering RRC_CONNECTED state;                3>if the UE supports storage of mobility history information and the UE has mobility history information available in VarMobilityHistoryReport:                                    4>include the mobilityHistoryAvail;                                                                    2>include dcn-ID if a DCN-ID value (see TS 23.401 [41]) is received from upper layers;            2>if UE needs UL gaps during continuous uplink transmission:                            3>include ue-CE-NeedULGaps;                                    2>submit the RRCConnectionSetupComplete message to lower layers for transmission, upon which the procedure ends;                        
Following the above scenario of lower signaling being used to allocate a C-RNTI, when the UE receives the RRCConnectionResume message, the UE shall:                1>stop timer T300;        1>restore the PDCP state and re-establish PDCP entities for SRB2 and all DRBs;        1>if drb-ContinueROHC is included:                    2>indicate to lower layers that stored UE AS context is used and that drb-ContinueROHC is configured;            2>continue the header compression protocol context for the DRBs configured with the header compression protocol;                        1>else:                    2>indicate to lower layers that stored UE AS context is used;            2>reset the header compression protocol context for the DRBs configured with the header compression protocol;                        1>discard the stored UE AS context and resumeIdentity;        1>perform the radio resource configuration procedure in accordance with the received radioResourceConfigDedicated and as specified in 5.3.10;        1>if the received RRCConnectionResume message includes the sk-Counter:                    2>perform key update procedure as specified in in TS 38.331 [82, 5.3.5.7];                        1>if the received RRCConnectionResume message includes the nr-RadioBearerConfig:                    2>perform radio bearer configuration as specified in in TS 38.331 [82, 5.3.5.5];                        1>if the received RRCConnectionResume message includes the nr-RadioBearerConfigS:                    2>perform radio bearer configuration as specified in in TS 38.331 [82, 5.3.5.5];                        1>resume SRB2 and all DRBs;        1>if stored, discard the cell reselection priority information provided by the idleModeMobilityControlInfo or inherited from another RAT;        1>if stored, discard the dedicated offset provided by the redirectedCarrierOffsetDedicated;        1>if the RRCConnectionResume message includes the measConfig:                    2>perform the measurement configuration procedure as specified in 5.5.2;                        1>stop timer T302, if running;        1>stop timer T303, if running;        1>stop timer T305, if running;        1>stop timer T306, if running;        1>stop timer T308, if running;        1>perform the actions as specified in 5.3.3.7;        1>stop timer T320, if running;        1>stop timer T350, if running;        1>perform the actions as specified in 5.6.12.4;        1>stop timer T360, if running;        1>stop timer T322, if running;        1>update the KeNB key based on the KASME key to which the current KeNB is associated, using the nextHopChainingCount value indicated in the RRCConnectionResume message, as specified in TS 33.401 [32];        1>store the nextHopChainingCount value;        1>derive the KRRont key associated with the previously configured integrity algorithm, as specified in TS 33.401 [32];        1>request lower layers to verify the integrity protection of the RRCConnectionResume message, using the previously configured algorithm and the KRRcint key;        1>if the integrity protection check of the RRCConnectionResume message fails:                    2>perform the actions upon leaving RRC_CONNECTED as specified in 5.3.12, with release cause ‘other’, upon which the procedure ends;                        1>derive the KRRcenc key and the KUPenc key associated with the previously configured ciphering algorithm, as specified in TS 33.401 [32];        1>configure lower layers to resume integrity protection using the previously configured algorithm and the KRRCint key immediately, i.e., integrity protection shall be applied to all subsequent messages received and sent by the UE;        1>configure lower layers to resume ciphering and to apply the ciphering algorithm, the KRRCenc key and the KUPenc key, i.e. the ciphering configuration shall be applied to all subsequent messages received and sent by the UE;        1>enter RRC_CONNECTED;        1>indicate to upper layers that the suspended RRC connection has been resumed;        1>stop the cell reselection procedure;        1>consider the current cell to be the PCell;        1>set the content of RRCConnectionResumeComplete message as follows:                    2>set the selectedPLMN-Identity to the PLMN selected by upper layers (see TS 23.122 [11], TS 24.301 [35]) from the PLMN(s) included in the plmn-IdentityList in SystemInformationBlockType1;            2>set the dedicatedlnfoNAS to include the information received from upper layers;            2>except for NB-IoT:                            3>if the UE has radio link failure or handover failure information available in VarRLF-Report and if the RPLMN is included in plmn-IdentityList stored in VarRLF-Report:                                    4>include rlf-InfoAvailable;                                                3>if the UE has MBSFN logged measurements available for E-UTRA and if the RPLMN is included in plmn-IdentityList stored in VarLogMeasReport:                                    4>include logMeasAvailableMBSFN;                                                3>else if the UE has logged measurements available for E-UTRA and if the RPLMN is included in plmn-IdentityList stored in VarLogMeasReport:                                    4>include logMeasAvailable;                                                3>if the UE has connection establishment failure information available in VarConnEstFailReport and if the RPLMN is equal to plmn-Identity stored in VarConnEstFailReport:                                    4>include connEstFaillnfoAvailable;                                                3>include the mobilityState and set it to the mobility state (as specified in TS 36.304 [4]) of the UE just prior to entering RRC_CONNECTED state;                3>if the UE supports storage of mobility history information and the UE has mobility history information available in VarMobilityHistoryReport:                                    4>include mobilityHistoryAvail;                                                                                1>submit the RRCConnectionResumeComplete message to lower layers for transmission;        1>the procedure ends.        
When the resume procedure upon an T300 expiry, the UE shall:                1>if timer T300 expires:                    2>reset MAC, release the MAC configuration and re-establish RLC for all RBs that are established;            2>if the UE is a NB-IoT UE:                            3>if connEstFailOffset is included in SystemInformationBlockType2-NB:                                    4>use connEstFailOffset for the parameter Qoffsettemp for the concerned cell when performing cell selection and reselection according to TS 36.304 [4];                                                3>else:                                    4>use value of infinity for the parameter Qoffsettemp for the concerned cell when performing cell selection and reselection according to TS 36.304 [4];                                                                                NOTE 0: For NB-IoT, the number of times that the UE detects T300 expiry on the same cell before applying connEstFailOffset and the amount of time that the UE applies connEstFailOffset before removing the offset from evaluation of the cell is up to UE implementation.                    2>else if the UE supports RRC Connection Establishment failure temporary Qoffset and T300 has expired a consecutive connEstFailCount times on the same cell for which txFailParams is included in SystemInformationBlockType2:                            3>for a period as indicated by connEstFailOffsetValidity:                                    4>use connEstFailOffset for the parameter Qoffsettemp for the concerned cell when performing cell selection and reselection according to TS 36.304 [4] and TS 25.304 [40];                                                                                NOTE 1: When performing cell selection, if no suitable or acceptable cell can be found, it is up to UE implementation whether to stop using connEstFailOffset for the parameter Qoffsettemp during connEstFailOffsetValidity for the concerned cell.                    2>except for NB-IoT, store the following connection establishment failure information in the VarConnEstFailReport by setting its fields as follows:                            3>clear the information included in VarConnEstFailReport, if any;                                    3>set the plmn-Identity to the PLMN selected by upper layers (see TS 23.122 [11], TS 24.301 [35]) from the PLMN(s) included in the plmn-IdentityList in SystemInformationBlockType1;                                                3>set the failedCellId to the global cell identity of the cell where connection establishment failure is detected;                3>set the measResultFailedCell to include the RSRP and RSRQ, if available, of the cell where connection establishment failure is detected and based on measurements collected up to the moment the UE detected the failure;                3>if available, set the measResultNeighCells, in order of decreasing ranking-criterion as used for cell reselection, to include neighbouring cell measurements for at most the following number of neighbouring cells: 6 intra-frequency and 3 inter-frequency neighbours per frequency as well as 3 inter-RAT neighbours, per frequency/set of frequencies (GERAN) per RAT and according to the following:                                    4>for each neighbour cell included, include the optional fields that are available;                                                                                NOTE 2: The UE includes the latest results of the available measurements as used for cell reselection evaluation, which are performed in accordance with the performance requirements as specified in TS 36.133 [16].                    3>if detailed location information is available, set the content of the locationlnfo as follows:                            4>include the locationCoordinates;                4>include the horizontal Velocity, if available;                                    3>set the number OfPreamblesSent to indicate the number of preambles sent by MAC for the failed random access procedure;            3>set contentionDetected to indicate whether contention resolution was not successful as specified in TS 36.321 [6] for at least one of the transmitted preambles for the failed random access procedure;            3>set maxTxPowerReached to indicate whether or not the maximum power level was used for the last transmitted preamble, see TS 36.321 [6];            2>inform upper layers about the failure to establish the RRC connection or failure to resume the RRC connection with suspend indication, upon which the procedure ends.                        
The UE may discard the connection establishment failure information, i.e. release the UE variable VarConnEstFailReport, 48 hours after the failure is detected, upon power off or upon detach.
There currently exist certain challenges. It has been agreed in NR that the UE should start a timer similar to T300 when Resuming the RRC connection, i.e. transitioning from RRC_INACTIVE state to RRC_CONNECTED. It has not been agreed if this timer is the same timer as used when the UE is performing an RRC connection establishment, i.e. transitioning from RRC_IDLE to RRC_CONNECTED.
Additionally, the following aspects has been agreed for NR RRC which is different from LTE RRC.
Firstly, in NR RRC, the resume message to resume the connection which the network may send in response to the UE which are trying to resume the connection will be encrypted. This is different from the current LTE specification where the corresponding RRCConnectionResume message is not encrypted.
Secondly, FIG. 4 illustrates an example RRCSuspend message in the resume procedure in NR. In NR RRC, the network may respond to a ResumeRequest from the UE with a suspend message which immediately orders the UE back to RRC_INACTIVE state. Also, this message will be encrypted. In LTE, it is not possible to send a suspend message directly to the UE trying to resume the connection.
Lastly, FIG. 5 illustrates an example RRCRelease message in the resume procedure in NR. In NR RRC, the network may respond to a ResumeRequest from the UE with a release message which immediately orders the UE back to RRC_IDLE state. Also, this message will be encrypted. In LTE it is not possible to send a release message directly to the UE trying to resume the connection.
Due to the differences above, the following issues occurs with handling the timer for NR RRC resume.
Firstly, since in all cases above the message the UE receives in response is encrypted, it is not possible to read the message in case the UE is not able to decode the message, so for this reason it is not possible to stop the timer in this case. This case could for instance occur if the network and UE has lost synchronization, e.g. network and UE does not agree in which state the UE is in.
Secondly, since the UE may receive more messages in NR in response to the ResumeRequest it is not enough to just stop the timer when receiving the resume message as in LTE, since it would continue to run if the network does not answer with the resume message.
Lastly, in both cases above, the timer will continue to run even though the UE may have been released to IDLE, suspended to INACTIVE, or abandoned the RRC resume procedure to receiving a message which could not be decrypted. This would in turn mean that UE would trigger the actions upon the expiration of this timer when it is not needed, i.e. the actions on the expiration of the timer should only be executed when the UE is still in a state where it is waiting for network response.